home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / sys / amiga / programmer / 1876 < prev    next >
Encoding:
Text File  |  1996-08-05  |  5.8 KB  |  152 lines

  1. Path: informatik.tu-muenchen.de!fischerj
  2. From: fischerj@informatik.tu-muenchen.de (Juergen "Rally" Fischer)
  3. Newsgroups: comp.sys.amiga.programmer
  4. Subject: Re: Demo/game to OS friendly part II
  5. Date: 24 Jan 1996 15:42:56 GMT
  6. Organization: Technische Universitaet Muenchen, Germany
  7. Distribution: world
  8. Message-ID: <4e5k20$rva@sunsystem5.informatik.tu-muenchen.de>
  9. References: <4e0jhq$f0q@sunsystem5.informatik.tu-muenchen.de> <4e114i$4o8@serpens.rhein.de> <4e371l$92b@sunsystem5.informatik.tu-muenchen.de> <4e3jld$la@serpens.rhein.de>
  10. NNTP-Posting-Host: hphalle5.informatik.tu-muenchen.de
  11. Originator: fischerj@hphalle5.informatik.tu-muenchen.de
  12.  
  13.  
  14. In article <4e3jld$la@serpens.rhein.de>, mlelstv@serpens.rhein.de (Michael van Elst) writes:
  15. |> fischerj@informatik.tu-muenchen.de (Juergen "Rally" Fischer) writes:
  16.  
  17. |> If you want hacks then shut down the system and reboot afterwards.
  18. naah, shut down, zzzt zzzt, how should I perform parallel reload from
  19. hd then ? :)
  20.  
  21. |> And stand for it.
  22. Or embed it into OS as much as possible, tell the user, and stand for it.
  23.  
  24. |> 
  25. |> If you want the advantages of system-compliant code then use the
  26. |> OS and don't mix OS and hacks.
  27.  
  28. If I also give user the possibilty to chose OS-only fallback-mode,
  29. it's all a la RKM, and no need for you to flame. Your A3000 (assuming
  30. gfx-card) will run it, too ;)
  31.  
  32. But writepixelarray8 is known to be slower on current chipset Amigas...
  33.  
  34. Well, the medium version, checking for native bitmaps (can I assume
  35. blitter present then ?) and using less optimal 4 pass blitter should
  36. also still be a la RKM, but will loose on 2x2 quite much speed
  37. vs the hack. realtimish demos on 1x1 will also loose quite some fps.
  38.  
  39. So if user got AGA and PAL he will be happy chosing the hack.
  40.  
  41. |> 
  42. |> >yes, in can optimize that way, but this could still be less ideal
  43. |> >than direct render to vram.
  44. |> 
  45. |> Sure. In the same way that WaitTOF() could suddenly busy-wait, no ?
  46.  
  47. Do I read this right as "I don't believe direct render can be faster" ?
  48. not in demos with realtime-fx, especially 50Hz ones ?
  49.  
  50. |> 
  51. |> >??? the driver can give you fastmem, chipmem, vram, swapspace,
  52. |> >whatever depending to architecture...
  53. |> 
  54. |> And your code has to adapt to it. It even has to follow rules.
  55.  
  56. struct display *getdisplay(320,256,8,MODE_DIRECT_RENDER|MODE_LORES);
  57.  
  58. char *display->render
  59.  
  60. render to given buffer.
  61.  
  62. then call updatedisplay(struct display *)
  63.  
  64. which will do nothing in the DIRECT_RENDER mode, or copying in other modi.
  65.  
  66. gives optimum speed, and code doesn't have to adapt to anything.
  67. maybe lacks some things like network support ;)
  68.  
  69. |> 
  70. |> >|> But why should writing bytewise be faster ?
  71. |> >texture mapping loops write bytewise to fastmem. If vram is as fast,
  72. |> >you can render into it and save the time of copying.
  73. |> 
  74. |> How would you know ? For most systems the VRAM wouldn't be cachable.
  75. |> Each write access is passed to the RAM. So, writing bytes causes
  76. |> 4 accesses per word. Writing to (write-)cached FastRAM and copying
  77. |> later just causes 3 accesses per word.
  78.  
  79. Well, heehee, there have been cases where even a A1200 rendering to
  80. _CHIPMEM_ was faster than using fastmem+copy. This proves my point 
  81. (which is "rendering to vram could be faster on a certain machine
  82. running a certain gfx-engine").
  83.  
  84. |> >On architectures where vram is quite quick and fastmem is quite slowe and
  85. |> >copying is done with cpu it does need that. This time you are the one that
  86. |> >doesn't take care of all possible architectures!
  87. |> 
  88. |> I don't have to, the driver does. But your code has to. It even has
  89. |> to take into account every possible combination of framebuffer, CPU,
  90. |> bus architecture, etc..
  91.  
  92. mhm, how does your idea handle the case "direct render" ?
  93.  
  94. |> 
  95. |> >you are talking about a game on wb window ? I hope also future Amigas
  96. |> >will provide 320 pix fullscreen. that's what games just need.
  97. |> 
  98. |> Some future Amigas will not provide 320 pix fullscreen.
  99.  
  100. ugh. look at all those "cool workastions", SGI, wow how cool it is,
  101. we love it, but no fullscreen animation, or jerk jerk. just because
  102. they got no lores.
  103.  
  104. The philosophy of Amiga has always been beeing efficient.
  105. having lores modi for lo cpus (or even lolores, quick 160er modi
  106. by blitter, or even lololores, beyond 160, but outzoomed _for free_
  107. (copperscreen)).
  108.  
  109. At least the AMIGA hardware can do it, but some people tell 
  110. not to use it ;)
  111.  
  112. |> 
  113. |> Some graphics cards might provide a 320 pix fullscreen by zooming
  114. |> a tiny bitmap in hardware.
  115.  
  116. that's ok, if it can be done far beyond a frame (it's DMA should not
  117. slow down direct render) then it's ok. If the hires_only causes
  118. slowdown vs the same card but having lores, then it's bad.
  119.  
  120. workstation fans smile a bit when watching A1200 doom running 
  121. quarterscreen (anyway, when using 'hacks' you can get fullscreen
  122. 2x2 faster than OS-quarterscreen 1x1 on the A1200!).
  123.  
  124. But wouldn't it be more annoying if you got a quick cpu but run also 
  125. quarterscreen due to not having lores ? would be really lame.
  126.  
  127. |> 
  128. |> Even more for your code to consider.
  129.  
  130. no. If I had designed the interface, setdisplay(struct display *) would
  131. handle the outzoom without application noticing it.
  132.  
  133. |> 
  134. |> >what ? I say a game programer is more likely to use OS if it's excelent
  135. |> >in speed end got a useful interface.
  136. |> 
  137. |> I say that a c00l c0d3r (and that's most of all game programmers we
  138. |> have) does never use the OS. Even your proposals for low-level access
  139. |> to graphics hardware are just a way to avoid the OS as much as possible.
  140.  
  141. not acess to hardware, just to a buffer that can be on the card if
  142. possible!
  143.  
  144. |> -- 
  145. |>                                 Michael van Elst
  146. |> 
  147. |> Internet: mlelstv@serpens.rhein.de
  148. |>                                 "A potential Snark may lurk in every tree."
  149. ------------------------------------------------------------------------
  150.    fischerj@Informatik.TU-Muenchen.DE (Juergen "Rally" Fischer)   =:)
  151.  
  152.